/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.proteu.hibernate.beans;

import br.com.proteu.hibernate.util.FireBirdHelperProteu;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 *
 * @author ricardo
 */
@Entity
@Table(name="MEDICOESPECIALIDADES")
public class MedicoEspecialidadesProteu implements Serializable{

    @Id
    @Column(name="MED_ST_CODIGO")
    private String medStCodigo;
    @Column(name="ESC_ST_CODIGO")
    private String escStCodigo;
    @Column(name="MEE_CH_BLOQUEADO")
    private String meeChBloqueado;
    @Column(name="EPS_ST_CODIGO")
    private String epsStCodigo;
    @Column(name="MEE_SYS_DATA")
    private Date meeSysData;
    @Column(name="MEE_SYS_USUARIO")
    private String meeSysUsuario;

    @Transient
    private EspecialidadesClinicaProteu especialidadesClinicaProteu;
    @Transient
    private MedicosProteu medicoObject;

    @Transient
    public MedicosProteu getMedicoObject() {
        if(medicoObject == null && this.medStCodigo != null){
            medicoObject = (MedicosProteu) FireBirdHelperProteu.getObject(MedicosProteu.class, this.medStCodigo);
        }
        return medicoObject;
    }


    



    public String getEpsStCodigo() {
        return epsStCodigo;
    }



    public void setEpsStCodigo(String epsStCodigo) {
        this.epsStCodigo = epsStCodigo;
    }

    public String getEscStCodigo() {
        return escStCodigo;
    }

    public void setEscStCodigo(String escStCodigo) {
        this.escStCodigo = escStCodigo;
    }

    public String getMedStCodigo() {
        return medStCodigo;
    }

    public void setMedStCodigo(String medStCodigo) {
        this.medStCodigo = medStCodigo;
    }

    public String getMeeChBloqueado() {
        return meeChBloqueado;
    }

    public void setMeeChBloqueado(String meeChBloqueado) {
        this.meeChBloqueado = meeChBloqueado;
    }

    public Date getMeeSysData() {
        return meeSysData;
    }

    public void setMeeSysData(Date meeSysData) {
        this.meeSysData = meeSysData;
    }

    public String getMeeSysUsuario() {
        return meeSysUsuario;
    }

    public void setMeeSysUsuario(String meeSysUsuario) {
        this.meeSysUsuario = meeSysUsuario;
    
    }


    @Transient
    public EspecialidadesClinicaProteu getEspecialidadesClinicaProteu() {
        if(especialidadesClinicaProteu == null && this.escStCodigo != null){
            especialidadesClinicaProteu = (EspecialidadesClinicaProteu) FireBirdHelperProteu.getObject(EspecialidadesClinicaProteu.class, this.escStCodigo);
        }
        return especialidadesClinicaProteu;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final MedicoEspecialidadesProteu other = (MedicoEspecialidadesProteu) obj;
        if ((this.medStCodigo == null) ? (other.medStCodigo != null) : !this.medStCodigo.equals(other.medStCodigo)) {
            return false;
        }
        if ((this.escStCodigo == null) ? (other.escStCodigo != null) : !this.escStCodigo.equals(other.escStCodigo)) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 89 * hash + (this.medStCodigo != null ? this.medStCodigo.hashCode() : 0);
        hash = 89 * hash + (this.escStCodigo != null ? this.escStCodigo.hashCode() : 0);
        return hash;
    }



}
